2.5 已存在表格修改属性
除了在新建DateFrame表格时,或者导入数据生成DataFrame表格后,再次修改这些属性,
对DataFrame行索引修改使用df.index属性,对列索引使用df.columns属性,
要设置DataFrame表格的列数据类型使用astype()函数,
在函数的参数中写入要转换的数据类型即可,并且可对单列或者多列设置数据类型,如果对不同列设置不同的数据类型。
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df = pd.read_excel(path)
print (df)
返回:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
0 | 小明 | 2021-04-05 | 91.0 | 85.5 |
1 | 小张 | 2021-04-05 | 89.0 | 89.0 |
2 | 小王 | 2008-12-25 | 85.0 | 95.0 |
3 | 小李 | 2020-06-03 | 89.0 | 88.4 |
2.5.1 修改df.index属性
修改行索引为abce:
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df = pd.read_excel(path)
df.index=[ "a","b","c","d" ]
print (df)
返回:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
a | 小明 | 2021-04-05 | 91.0 | 85.5 |
b | 小张 | 2021-04-05 | 89.0 | 89.0 |
c | 小王 | 2008-12-25 | 85.0 | 95.0 |
d | 小李 | 2020-06-03 | 89.0 | 88.4 |
2.5.2 修改df.columns属性
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df = pd.read_excel(path)
df.columns=[ "名字","考试日期","语文","数学" ]
print (df)
返回值:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
0 | 小明 | 2021-04-05 | 91.0 | 85.5 |
1 | 小张 | 2021-04-05 | 89.0 | 89.0 |
2 | 小王 | 2008-12-25 | 85.0 | 95.0 |
3 | 小李 | 2020-06-03 | 89.0 | 88.4 |
2.5.3 使用astype()函数修改数据类型
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df = pd.read_excel(path)
df.columns=[ "名字","考试日期","语文","数学" ]
df[ "语文" ]=df[ "语文" ].astype( float)
print (df)
返回:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
0 | 小明 | 2021-04-05 | 91.0 | 85.5 |
1 | 小张 | 2021-04-05 | 89.0 | 89.0 |
2 | 小王 | 2008-12-25 | 85.0 | 95.0 |
3 | 小李 | 2020-06-03 | 89.0 | 88.4 |
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df = pd.read_excel(path)
df.columns=[ "名字","考试日期","语文","数学" ]
df[[ "语文","数学" ]]=df[[ "语文","数学" ]].astype( float )
print (df)
返回:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
0 | 小明 | 2021-04-05 | 91.0 | 85.5 |
1 | 小张 | 2021-04-05 | 89.0 | 89.0 |
2 | 小王 | 2008-12-25 | 85.0 | 95.0 |
3 | 小李 | 2020-06-03 | 89.0 | 88.4 |
import pandas as pd
path = r "D:\Pyobject2023\object\测试\素材-学生成绩.xlsx"
df.columns=[ "名字","考试日期","语文","数学" ]
df=df.astype({ "语文":"float","数学":"int" })
print (df)
返回:
名字 | 考试日期 | 语文 | 数学 | |
---|---|---|---|---|
0 | 小明 | 2021-04-05 | 91.0 | 85 |
1 | 小张 | 2021-04-05 | 89.0 | 89 |
2 | 小王 | 2008-12-25 | 85.0 | 95 |
3 | 小李 | 2020-06-03 | 89.0 | 88 |